<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Vue中的数据代理</title>
        <!-- 引入Vue -->
        <script type="text/javascript" src="../js/vue.js"></script>
    </head>
    <body>
        <div id="root">
            <h1>课程：{{name}}</h1>
            <h1>作者：{{author}}</h1>
            <div>
                <div>
                    <h2>1. Vue中的数据代理</h2>
                    <p>通过vm对象来代理data对象中属性的操作（读/写）</p>
                </div>
                <div>
                    <h2>2. Vue中数据代理的好处</h2>
                    <p>更加方便地操作data中的数据</p>
                </div>
                <div>
                    <h2>3. 基本原理</h2>
                    <p>3.1 通过Object.defineProperty()把data对象中所有属性添加到vm上</p>
                    <p>3.2 为每一个添加到vm上的属性，都指定一个getter/setter。</p>
                    <p>3.3 在getter/setter内部去操作（读/写）data中对应的属性。</p>
                </div>
            </div>
            <img src="../images/数据代理图示.png" alt="">
        </div>
        <script type="text/javascript">
            Vue.config.productionTip = false    // 阻止Vue在启动时生成生产提示

            // 创建Vue实例，开端
            vm = new Vue({
                el: '#root', // el用于指定当前Vue实例为哪个容器服务，值通常为css选择器字符串。
                data: {     // data中用于存储数据，数据供el指定的容器去使用
                    name: 'Vue',
                    author: 'youyuxi'
                }
            })
        </script>
    </body>
</html>
